
var prefix = "/jzweb/memberApply";
$(function() {
	load();
});
function load() {
	$('#exampleTable')
			.bootstrapTable(
					{
						method : 'get', // 服务器数据的请求方式 get or post
						url : prefix + "/selCertificateList", // 服务器数据的加载地址
					//	showRefresh : true,
					//	showToggle : true,
					//	showColumns : true,
						iconSize : 'outline',
						toolbar : '#exampleToolbar',
						striped : true, // 设置为true会有隔行变色效果
						dataType : "json", // 服务器返回的数据类型
						pagination : true, // 设置为true会在底部显示分页条
						singleSelect : false, // 设置为true将禁止多选
						// contentType : "application/x-www-form-urlencoded",
						// //发送到服务器的数据编码类型
						pageNumber : 1, // 如果设置了分页，每页数据条数
						pageSize : 10, // 如果设置了分布，首页页码
						//search : true, // 是否显示搜索框
						showColumns : false, // 是否显示内容下拉框（选择显示的列）
						sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
						queryParamsType : "",
						// //设置为limit则会发送符合RESTFull格式的参数
						queryParams : function(params) {
							return {
								//说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
								current: params.pageNumber?parseInt(params.pageNumber):null,
								size: params.pageSize?parseInt(params.pageSize):null,
								unitType:$('#unitType').val()?parseInt($('#unitType').val()):-1,
								name:$('#name').val(),
								intention:$('#intention').val()?parseInt($('#intention').val()):-1,
								status:$('#status').val()?parseInt($('#status').val()):-1
							};
						},
						// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
						// queryParamsType = 'limit' ,返回参数必须包含
						// limit, offset, search, sort, order 否则, 需要包含:
						// pageSize, pageNumber, searchText, sortName,
						// sortOrder.
						// 返回false将会终止请求
						responseHandler : function(res){
                            console.log(res);
                            return {
								"total": res.data.records.length>0?res.data.total:0,//总数
                                "rows": res.data.records   //数据
                             };
                        },
						columns : [{
							checkbox : true
						},
								{
									field : 'name', 
									title : '单位名称' 
								},
								{
									field : 'intention',
									title : '证书类型',
									formatter: function (value, row, index) { //（0通过，1拒绝）
										if (value == 0) {
											return '<span class="label label-success">常务副理事单位</span>';
										} else if (value == 1) {
											return '<span class="label label-danger">副理事单位</span>';
										} else if (value == 2) {
											return '<span class="label label-danger">常务理事单位</span>';
										} else if (value == 3) {
											return '<span class="label label-danger">理事单位</span>';
										}
									}
								},
								{
									field : 'status',
									title : '证书状态',
									formatter: function (value, row, index) { //（0通过，1拒绝）
										if (value == 0) {
											return '<span class="label label-success">待生成</span>';
										} else if (value == 1) {
											return '<span class="label label-danger">已生成</span>';
										}
									}
								},{
									field : 'unitEmployment',
									title : '单位聘书'
								},
								{
									field : 'personalEmployment',
									title : '个人聘书'
								},
								{
									field : 'certificateTime',
									title : '证书生成时间'
								},
								{
									title : '操作',
									field : 'id',
									align : 'center',
									formatter : function(value, row, index) {
										var a = '<a class="btn btn-primary btn-sm" href="#" mce_href="#" title="下载" onclick="dow(\''+ row.id+ '\')">下载</a>';
										var b = '<a class="btn btn-warning btn-sm '+removeCertificate+'" href="#" title="删除"  mce_href="#" onclick="remove(\''
											+ row.id
											+ '\')"><i class="fa fa-trash-o"></i></a>';
										var c = '<a class="btn btn-primary btn-sm '+getCertificate+'" href="#" mce_href="#" title="重新生成" onclick="certificate(\''
												+ row.id
												+ '\')"><i class="fa fa-refresh"></i>重新生成</a>';
										var d = '<a class="btn btn-primary btn-sm '+getCertificate+'" href="#" mce_href="#" title="生成证书" onclick="certificate(\''
											+ row.id
											+ '\')"><i class="fa fa-refresh"></i>生成证书</a>';
										if(row.status==0){
											return d ;
										}else if(row.status==1){
											return a + b + c;
										}
									}
								} ]
					});
}
function reLoad() {
	$('#exampleTable').bootstrapTable('refresh');
}
function dow(id) {
	window.location.href = prefix+'/exportPdf?id='+id;
	layer.msg("下载成功！");
}
function remove(id) {
	$.ajax({
		url : prefix+"/removeCertificate",
		type : "post",
		data : {
			id
		},
		success : function(r) {
			if (r.code==0) {
				layer.msg(r.msg);
				reLoad()
			}else{
				layer.msg(r.msg);
				reLoad()
			}
		}
	});
}
function getCertificateList(id) {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要批量生产的数据");
		return;
	}
	var ids = new Array();
	// 遍历所有选择的行数据，取每条数据对应的ID
	$.each(rows, function(i, row) {
		ids[i] = row['id'];
	});
	var loadIndex = layer.msg('请稍后...', {
		icon: 16,
		shade: 0.01
	});
	$.ajax({
		traditional:true,
		url : prefix+"/getCertificateList",
		type : "get",
		data : {
			'ids':ids
		},
		success : function(r) {
			if (r.code==0) {
				layer.msg('操作成功，请等待数据生成');
				reLoad()
				setTimeout(()=>{
					reLoad()
				},3500)
				setTimeout(()=>{
					reLoad()
				},6500)
			}else{
				layer.msg(r.msg);
				reLoad()
			}
		}
	});
}
var isL = false
function certificate(id) {
	if(isL){
		return
	}
	isL = true
	var loadIndex = layer.msg('请稍后...', {
		icon: 16,
		shade: 0.01,
		time: 1000*30
	});
	$.ajax({
		traditional:true,
		url : prefix+"/getCertificate",
		type : "get",
		data : {
			id
		},
		success : function(r) {
			layer.close(loadIndex)
			setTimeout(()=>{
				isL = false
			},1000)
			if (r.code==0) {
				layer.msg('操作成功，请等待数据生成');
				reLoad()
				setTimeout(()=>{
					reLoad()
				},3500)
				setTimeout(()=>{
					reLoad()
				},6500)
			}else{
				layer.msg(r.msg);
				reLoad()
			}
		}
	});
}
function exportUnitPdf(id) {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要导出单位聘书的数据");
		return;
	}
	var loadIndex = layer.msg('请稍后...', {
		icon: 16,
		shade: 0.01,
		time: 1000*30
	});
	var ids = new Array();
	// 遍历所有选择的行数据，取每条数据对应的ID
	$.each(rows, function(i, row) {
		ids[i] = row['id'];
	});
	$.ajax({
		traditional:true,
		url : prefix+"/exportUnitPdf",
		type : "get",
		data : {
			'ids' : ids
		},
		success : function(r) {
			layer.close(loadIndex)
			if(!r){
				layer.msg("暂无数据！");
			}else{
				console.log(prefix+'/exportUnitPdf?ids='+ids)
				window.location.href = prefix+'/exportUnitPdf?ids='+ids;
				layer.msg("导出成功！");
			}
		}
	});
}
function exportPersonalPdf(id) {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要导出个人聘书的数据");
		return;
	}
	var loadIndex = layer.msg('请稍后...', {
		icon: 16,
		shade: 0.01
	});
	var ids = new Array();
	// 遍历所有选择的行数据，取每条数据对应的ID
	$.each(rows, function(i, row) {
		ids[i] = row['id'];
	});
	$.ajax({
		traditional:true,
		url : prefix+"/exportPersonalPdf",
		type : "get",
		data : {
			'ids' : ids
		},
		success : function(r) {
			layer.close(loadIndex)
			if(!r){
				layer.msg("暂无数据！");
			}else{
				console.log(prefix+'/exportUnitPdf?ids='+ids)
				window.location.href = prefix+'/exportPersonalPdf?ids='+ids;
				layer.msg("导出成功！");
			}
		}
	});
}